package com.lab.common;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Data
@Component
@ConfigurationProperties(prefix = "lab.jwt")
public class JwtProperties {
        // 学生JWT配置
        private Student student = new Student();
        // 老师JWT配置
        private Teacher teacher = new Teacher();
        // 管理员JWT配置
        private Admin admin = new Admin();

        @Data
        public static class Student {
                private String secretKey; // 签名密钥（≥32位）
                private long ttl; // 过期时间（毫秒）
                private String tokenName; // 前端请求头中的token键名
        }
        @Data
        public static class Teacher {
                private String secretKey; // 签名密钥（≥32位）
                private long ttl; // 过期时间（毫秒）
                private String tokenName; // 前端请求头中的token键名
        }
        @Data
        public static class Admin {
                private String secretKey; // 签名密钥（≥32位）
                private long ttl; // 过期时间（毫秒）
                private String tokenName; // 前端请求头中的token键名
        }

        // Teacher和Admin内部类结构与Student一致
}